CVE-2026-31629
nfc: llcp: add missing return after LLCP_CLOSED checks
Description
In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: add missing return after LLCP_CLOSED checks In nfc_llcp_recv_hdlc() and nfc_llcp_recv_disc(), when the socket state is LLCP_CLOSED, the code correctly calls release_sock() and nfc_llcp_sock_put() but fails to return. Execution falls through to the remainder of the function, which calls release_sock() and nfc_llcp_sock_put() again. This results in a double release_sock() and a refcount underflow via double nfc_llcp_sock_put(), leading to a use-after-free. Add the missing return statements after the LLCP_CLOSED branches in both functions to prevent the fall-through.
INFO
Published Date :
April 24, 2026, 3:16 p.m.
Last Modified :
June 1, 2026, 5:16 p.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | HIGH | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
Solution
- Add return after LLCP_CLOSED checks in nfc_llcp_recv_hdlc.
- Add return after LLCP_CLOSED checks in nfc_llcp_recv_disc.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-31629.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-31629 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-31629
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-31629 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-31629 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jun. 01, 2026
Action Type Old Value New Value Added Reference https://git.kernel.org/stable/c/665315df9c3486cb213fc44d83cc8bcd47fe0d26 Added Reference https://git.kernel.org/stable/c/9b49e2a4b8219a2fc5cebf94f4ec34e509aff8a6 Added Reference https://git.kernel.org/stable/c/b2a23529593d011fb433a3d711fc597ed6a6bd2f -
Initial Analysis by [email protected]
Apr. 27, 2026
Action Type Old Value New Value Added CWE CWE-667 Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.13 up to (excluding) 6.18.24 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.19 up to (excluding) 6.19.14 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 7.0 up to (excluding) 7.0.1 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 3.3 up to (excluding) 6.6.136 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 up to (excluding) 6.12.83 Added Reference Type kernel.org: https://git.kernel.org/stable/c/0eb1263a3b8c36418c9ba295c9ab3abed664edbf Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/2b5dd4632966c39da6ba74dbc8689b309065e82c Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/796e0cac058252d0ad34ebe288e6f7979b5fc9b2 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/8977fad2b3c6eefd414131168d597c5d1d5e1abf Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/aba4712e8f0381cd5d196534ce2ad082626a5ab6 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/ff3d9e8f7244293e303f7b6ef70774291c7c27e9 Types: Patch -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Apr. 27, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Apr. 27, 2026
Action Type Old Value New Value Added Reference https://git.kernel.org/stable/c/0eb1263a3b8c36418c9ba295c9ab3abed664edbf -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Apr. 27, 2026
Action Type Old Value New Value Added Reference https://git.kernel.org/stable/c/2b5dd4632966c39da6ba74dbc8689b309065e82c -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Apr. 24, 2026
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: add missing return after LLCP_CLOSED checks In nfc_llcp_recv_hdlc() and nfc_llcp_recv_disc(), when the socket state is LLCP_CLOSED, the code correctly calls release_sock() and nfc_llcp_sock_put() but fails to return. Execution falls through to the remainder of the function, which calls release_sock() and nfc_llcp_sock_put() again. This results in a double release_sock() and a refcount underflow via double nfc_llcp_sock_put(), leading to a use-after-free. Add the missing return statements after the LLCP_CLOSED branches in both functions to prevent the fall-through. Added Reference https://git.kernel.org/stable/c/796e0cac058252d0ad34ebe288e6f7979b5fc9b2 Added Reference https://git.kernel.org/stable/c/8977fad2b3c6eefd414131168d597c5d1d5e1abf Added Reference https://git.kernel.org/stable/c/aba4712e8f0381cd5d196534ce2ad082626a5ab6 Added Reference https://git.kernel.org/stable/c/ff3d9e8f7244293e303f7b6ef70774291c7c27e9